Windows rally wireless hid device

ABSTRACT

A system and method that identifies and effectuates communication between a connectable client and a wireless human interface device. The wireless human interface device utilizes technologies to abstract the complexities of IP based wired and wireless networks to provide mechanisms to easily discover, associate, utilize and diagnose the wireless human interface device. Through the ensuing abstraction the wireless human interface device can be associated with an unlimited number of connectable networked clients or hosts thus eliminating the requirement of analog switch boxes to connect human interface devices to each connectable host or client, and further providing for the control of local and/or Internet based hosts or clients.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application Ser.No. 60/802,474 filed on May 21, 2006, and entitled WINDOWS RALLYWIRELESS HID DEVICE. The entirety of the aforementioned application isincorporated herein by reference.

BACKGROUND

It is widely recognized that bus connected devices are constrained bycables and are forced to associate with a single host. In the past suchconstraints have been addressed through analog switching devices, forexample, analog keyboard and mouse switch boxes. Nevertheless, suchswitching devices have limitations with respect to the matrix of hoststhat can be supported and further create an exponential amount ofcabling requirements.

Wireless technologies, such as Wi-Fi, have been put forth to break thisreliance on cable connections, but such solutions, while mitigating thecable concerns, nevertheless impose a 1:1 association between thewireless device and the host. In other words, the wireless device can beassociated with only a single PC at any given time.

SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of some aspects of the claimed subject matter. Thissummary is not an extensive overview. It is not intended to identifykey/critical elements or to delineate the scope of the claimed subjectmatter. Its sole purpose is to present some concepts in a simplifiedform as a prelude to the more detailed description that is presentedlater.

The claimed subject matter relates generally to computer systems and,more particularly, to a new breed of wireless human interface devices(WHID) that employ technologies to abstract the complexities of IP basedwireless networks, and to provide a mechanism to easily discover,associate, utilize, and diagnose a networked wireless human interfacedevice.

The claimed subject matter replaces analog switching modalities, such asanalog keyboard and mouse switch boxes, utilized by human interfacedevices (for example, keyboards, mice, speakers, monitors, microphones,Personal Digital Assistants (PDAs), tablets, joysticks, and the like) byvirtualizing the human interface device as a service that resides on aclient (e.g., a networked and/or a standalone computer/workstation). Thephysical human interface device functionality has been abstracted fromthe physical human interface entity and transferred into thefunctionality of a service resident on the client. Additionally, thecomplexities associated with IP based wireless networks have also beenabstracted thus allowing deployment and utilization of IP based wirelesshuman interface devices. Thus, by encapsulating the abstractfunctionality of the physical human interface device into a serviceresident on a networked client (e.g. a PC executing the TCP/IP stack) aphysical human interface device, for example a keyboard, can be utilizedwith any number of networked clients that execute the service. Forexample, if there are four PCs in a data center, with the service of theclaimed subject matter executing thereon, and one wireless IP keyboard,the wireless keyboard can be connected individually and/orsimultaneously to each and every one of the four PCs without the needfor a switching mechanism to direct keyboard communications toindividual PCs. Thus, the 1:1 associative relationship between the humaninterface device and the computing means has been severed, while at thesame time curtailing the cabling concerns between the human interfacedevice and the computing means.

To the accomplishment of the foregoing and related ends, certainillustrative aspects of the claimed subject matter are described hereinin connection with the following description and the annexed drawings.These aspects are indicative of various ways in which the subject mattermay be practiced, all of which are intended to be within the scope ofthe claimed subject matter. Other advantages and novel features maybecome apparent from the following detailed description when consideredin conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a wireless human interface device.

FIG. 2 illustrates a client device that discovers and establisheswireless communications between the wireless human interface device andthe client device.

FIG. 3 is a block diagram of an exemplary system that employs a wirelesshuman interface device to wirelessly communicate with multiple networkedclients.

FIG. 4 is a block diagram of a human interface device in directcommunication with a client and in indirect communication with aplurality of networked clients.

FIG. 5 is a block diagram that illustrates a system that employs awireless human interface device and an associated wired human interfacedevice to wireless communicate with one or more networked clients thatform a trusted relationship with one another.

FIG. 6 is a block diagram that depicts a system that utilizes a wirelesshuman interface device and an associated scanner to supply pairinginformation to establish wireless communications and thereafter controlby the wireless human interface device over a set of clients that haveentered a trust relationship with one another.

FIG. 7 is a flowchart diagram of a method that can be employed by aclient component of the subject invention to detect and configure awireless human interface component.

FIG. 8 is a flowchart diagram of a method that can be utilized by awireless human interface component to detect the existence of a clientcomponent and to receive configuration information from the clientcomponent.

FIG. 9 is an illustrative screenshot that depicts the result of enteringa unique key sequence into a host or client workstation.

FIG. 10 is a schematic block diagram illustrating a suitable operatingenvironment for aspects of the subject innovation.

FIG. 11 is a schematic block diagram of a sample-computing environment.

DETAILED DESCRIPTION

The various aspects of the subject innovation are now described withreference to the annexed drawings, wherein like numerals refer to likeor corresponding elements throughout. It should be understood, however,that the drawings and detailed description relating thereto are notintended to limit the claimed subject matter to the particular formdisclosed. Rather, the intention is to cover all modifications,equivalents and alternatives falling within the spirit and scope of theclaimed subject matter.

The wireless human interface device described herein can be associatedwith an unlimited number of networked hosts and/or clients and can thuseliminate the need for the traditional analog switchbox and further canprovide the ability for local and internet based control of hosts and/orclients. The wireless human interface device can have a small LCDdisplay that can be employed when the device is initially powered up todisplay an alphanumeric PIN number that can be used to configure thewireless settings and authenticate the device on the network. Thealphanumeric PIN number can be utilized by a user who can proceed to anyhost or client. The user can be prompted, for example, via a graphicaluser interface, to enter the PIN number. Upon receipt of the PIN numberthe host or client can configure the wireless human interface devicewith a wireless profile and automatically associate the device with thehost or client. The association includes driver installation andconfiguration of a secure channel for wireless communications betweenthe wireless human interface device and the host or client.Establishment of such a secure channel can prevent sniffing of keyboardstrokes, mouse command, etc.

Once the wireless human interface device has been associated with a hostor client and the appropriate driver installed, the wireless humaninterface device can be used with the host or client. The user can atanytime invoke an action on the wireless human interface device to “map”the network to which the wireless human interface device is connected.Upon invocation of such an action the wireless human interface devicecan display, for example on the associated LCD, information about thedevice including the device's wireless signal strength, battery life,association history, current user, and the like. Where the wirelesshuman interface device is not provisioned with an associated LCD, suchinformation can be displayed on one or more host or client to which thewireless human interface device is paired.

Since the wireless human interface device can be simultaneously pairedor associated with an unlimited number of hosts or clients, the LCDassociated with the wireless human interface device can provide a listof nodes from which a user can select. Further, since host or clientdiscovery can be effectuated using web services, hosts or clients towhich the wireless human interface device can be associated or pairedwith can be located on both a local area network or across the vastnessof the Internet. Thus, for example, a wireless human interface devicecan be located in New York and the paired hosts or clients can belocated in San Francisco. The wireless human interface device, in thisscenario, can control all the paired hosts or clients contemporaneouslyor individually.

The wireless human interface device described herein can thus beutilized in the following exemplary scenarios. For instance, thewireless human interface device can proxy standard bus attached devicesto the host over a wireless channel to allow a hybrid configurationmethod. Thus, for example, a wireless keyboard can include a USB-A portto allow another human interface device (e.g., USB mouse) to beconnected. The wireless human interface device, in this instance thewireless keyboard, can thus proxy the mouse over the wirelessconnection.

Further, the wireless human interface device can employ biometrictechnologies (e.g., thumbprints, retinal scans, . . . ) to authenticatea user to the wireless human interface device itself and/or to the hostor client. Such biometric information can also be utilized during theauthentication phase to provide secure pairing material. For example, atthe initial pairing or association of a wireless human interface deviceand a host or client, a user can use a thumbprint reader associated witha wireless human interface device and then the user can proceed to thehost or client and use a thumbprint reader associated with the client orhost to pair the wireless human interface device and the host or client.

Additionally, the wireless human interface device can include a USB-Bport to allow simultaneous bus connection that can be utilized to chargethe battery of the device and to associate the device with the host orclient. Furthermore, where a trust relationship exists between hosts orclients (e.g., a “Castle” or “Domain” relationship) a primary host canauthenticate a wireless human interface device on behalf of a secondaryhost or client with which the primary host or client has a relationship.This facility can be useful where the secondary host is not easilyaccessible and therefore it would be difficult to undertake theauthentication or pairing process directly with the wireless humaninterface device.

Where the wireless human interface device is not provided with anassociated LCD display and the association or pairing of the wirelesshuman interface device and a host or client has to be undertaken at thehost or client end, a key sequence (e.g., <CNTRL>, <SHFT>, <?>) or anaction key on the keyboard of the host or client can be pressed.Pressing the action key or key sequence can cause a display associatedwith the host or client to display a number that can be used by the userto enter this number on the wireless human interface device to associatethe wireless human interface device and the identified host or client.

In addition, the wireless human interface device can be used inconference room settings where a conference computer can be designatedas a host whereupon any member of the meeting can associate with theconference room computer and effectively take control of a presentationor other collaborative effort from his/her personal laptop, for example.In essence, an attendee's personal laptop becomes the wireless humaninterface device that can be associated with the conference roomcomputer thus allowing the attendee to control the conference roomcomputer without the necessity of having to physically access theconference room computer.

Moreover, a wireless human interface device with an associated LCDdisplay and memory, such as, for example, a thin word processor, can beemployed in a manner that allows text and images to be input into theassociated memory of the wireless human interface device. Thus, forexample a user can utilize the wireless human interface device to accessa first computer to access and copy data into the memory of the wirelesshuman interface device. The user can then access a second computer andpaste the copied data into an application running on the secondcomputer.

Alternatively, where the wireless human interface is not provisionedwith an associated memory, the user can access and copy data into abuffer (e.g. memory) on a first computing device, switch to a secondcomputing device, and paste the copied data that is stored in the bufferof the first computing device into an application executing on thesecond computing device. In this instance the wireless human interfacedevice acts as a proxy service for the first and second computingdevices.

FIG. 1 illustrates a wireless human interface device 110 that comprisesa wireless setup component 120 that discovers and establishes wirelesscommunications between two end points, a client discovery component 130that receives information regarding clients to which the wireless humaninterface device can establish communications with, an installation andassociation component 140 that installs and configures associateddrivers and software necessary for appropriate for communication with aclient as well as for the functioning of the wireless human interfacedevice 110, and a detection component 150 that detects how the humaninterface device 110 is connected to the network, for example via thedevice's wireless signal strength.

The wireless setup component 120 can be a service that continuouslyexecutes on the wireless human interface device 110. The wireless humaninterface device 110 can include such devices as a keyboard, mouse,speakers, microphone, tablets, joysticks, for example. The wirelesssetup component 120 can discover the existence of clients to which thewireless human interface device 110 is capable of attaching to, orpairing with. The wireless setup component 120 can continuously listenor monitor for signals emitted by clients that are within the wirelessrange of the device 110. When the wireless setup component 120determines the existence of a client within the wireless range of thedevice 110, the setup component 120 can broadcast pertinent informationabout itself, such as, for example, what type of device it is (e.g.,keyboard, mouse, joystick, tablet, speakers, microphone), the kind(s) ofinterfaces it has, and its media access control address (MAC address).

The client discovery component 130 can be another service resident onthe human interface device 110 that continuously listens for informationregarding prospective clients to which the wireless human interfacedevice 110 can pair with. The client discovery component 130 receivesinformation that can be sent or transmitted from the prospective client,such information can include what type of device the client is, forexample a standalone and/or networked PC and/or workstation, theclient's MAC address, the types of interfaces that may be extant on thePC and/or workstation, etc. Additionally, the client discovery component130 can receive information necessary to effectuate association orpairing of the human interface device 110 and the prospective client,such information can include, for example, a unique PIN number that canbe employed during the pairing process between the human interfacedevice 110 and the prospective client.

The installation and association component 140 can employ theauthentication information that can be transmitted from a prospectiveclient in order to receive drivers and application software deliveredfrom the prospective client. These drivers and application software canbe installed on the wireless human interface device 110 by theinstallation and association component 140 to effectuate the fullfunctionality of the wireless human interface device 110.

The detection component 150 detects how the wireless human interfacedevice 110 is connected to the network and ascertains the device'ssignal strength. For example, if a wireless keyboard is outside therange of a wireless access point the performance of the keyboard startsto degrade, e.g., the keystrokes from the wireless keyboard are notrecognized by the client, in which case the detection component 150 canascertain that the cause for the degradation in service is due to thefact that the wireless signal strength was poor. Thus, in theaforementioned example, the detection component 150 can inform theclient that the reason for the degradation in performance was due to thefact that the signal strength was poor. The benefit of such a feature isthat typically, human interface devices, such as keyboards, mice,joysticks, and the like, are not provided with a user interface, and asa consequence there commonly is no means to indicate the cause of thedegradation either to the user of the wireless human interface device110 or to the client to which the device 110 is paired with.

FIG. 2 illustrates an client device 210, such as a networked PC and/orworkstation that comprises a wireless setup component 220 that discoversand establishes wireless communications between two endpoints, awireless human interface device discovery component 230, a deliverycomponent 240 that locates appropriate drivers and application softwarenecessary to effectuate both the functionality of a wireless humaninterface device and communications between the client device and thewireless human interface device, and a detection component 250 thatdetects how the client device 210 is connected to the network.

The wireless setup component 220 can be a service that executes on theclient device 210. The wireless setup component 210 can discover theexistence of multiple wireless human interface devices, such askeyboards, mice, microphones, speakers, personal digital assistants(PDAs), to which the client 210 can be paired. The wireless setupcomponent 220 can also be employed to discover the existence of otherclient devices that are also communicating wirelessly. The wirelesssetup component 220 can continuously monitor for signals emitted by bothwireless human interface devices as well as for signals transmitted byother wirelessly connectable devices. Thus, when the wireless setupcomponent 220 discerns the existence of a wireless human interfacedevice, or for that matter any other wirelessly connectable devices,within its vicinity, the wireless setup component 220 can broadcastpertinent information about itself to the detected wireless humaninterface device. Such information can include, for example, the type ofclient device that it is, the kind of interfaces that are available foruse by the detected human interface device, and the like. In addition,the wireless setup component 220 can transmit authentication, connection(e.g., secure channel to broadcast on) and protocol information to thewireless human interface device that can in turn be used by the wirelesshuman interface device so that the client device 210 and the wirelesshuman interface device can establish wireless communications between oneanother.

The wireless human interface device discovery component 230 can beanother service effectuated on the client device 210. The wireless humaninterface device discovery component 230 can continually listen forinformation that is transmitted by a prospective wireless humaninterface device to which the client device 210 can be associated. Thewireless human interface device discovery component 230 can receiveinformation that is transmitted from a prospective wireless humaninterface device. Such information can include, for example, the type ofdevice that the wireless human interface device holds itself out to be(e.g., mouse keyboard, tablet, joystick, speakers, microphone . . . ),the MAC address associated with the wireless human interface device, thetypes of interfaces that are available and the current usage of suchinterfaces, etc. Further, the wireless human interface device discoverycomponent 230 can receive authentication information transmitted fromthe wireless human interface device, such as a PIN number or biometricinformation that can be utilized during the pairing process between theclient device 210 and the wireless human interface device. Additionally,wireless human interface device discovery component 230 upon receipt ofpertinent data/information (e.g., device type, interface type(s), andthe like) from the prospective wireless human interface device canautomatically marshal appropriate software, such as for example,drivers, firmware updates, and application software, etc. for subsequentdissemination and installation on the wireless human interface device.Furthermore, wireless human interface device discovery component 230based at least in part on data/information received from the prospectivewireless human interface device can dynamically effectuate installationof appropriate correlative software (e.g., firmware updates, drivers, .. . ) on the client necessary to support the detected wireless humaninterface device. It should be noted that both the correlative softwareand software marshaled for subsequent dissemination can be obtained fromone or more sources both internal and/or external to the client, such asfor example, local cache, CD/DVD, Internet server, and the like.

The delivery component 240 can, once communications have beenestablished between the client device 210 and the wireless humaninterface device, utilize information gleaned from the wireless setupcomponent 220 and wireless human interface device discovery component230 to deliver drivers and associated application software to thewireless human interface device. A human interface device to can thusutilize these drivers and associated software both to effectuatecommunication with the client device 210 as well as to establish thefull functionality of the wireless human interface device with theclient device 210.

The detection component 250 detects how the client device 210 isconnected to the network and ascertains health aspects (e.g., diagnoses)related to the established connection between the client device 210 andthe wireless human interface component. The detection component 250, forexample, can ascertain the reasons for degradation of services betweenthe client device 210 and the wireless human interface device. Furtherthe detection component 250 can also provide indications as to thebattery life of the wireless human interface device, indications as tothe current association between the client device 210 and one or moreassociated human interface devices, the current user using the wirelesshuman interface device, and the current users utilizing all otherwireless human interface devices, as well as other disparate clientdevices that have been associated with the client device 210.

FIG. 3 depicts a system 300 that includes a wireless human interfacedevice 310 (e.g., a mouse, keyboard, joystick, microphone, tablet, . . .) in wireless communication with a client 320 ₁. System 300 can furtherinclude clients 320 ₂ . . . 320 _(N), wherein clients 320 ₁, 320 ₂, . .. 320 _(N) are networked to one another through one or more networkmedium 330 running one or more network protocols, for example TCP/IP.The wireless human interface device 310, as mentioned supra, can be inwireless communications with client 320 ₁, and thus the wireless humaninterface device 310 can effect control over processes running on client3201. Additionally, if a trust relationship exists between clients 320₁, 320 ₂, . . . 320 _(N), for example a “domain” relationship, client320 ₁ can associate the wireless human interface device 310 with eachand every client 320 ₂, . . . 320 _(N) such that the wireless humaninterface device 310 can control processes on clients 320 ₂, . . . 320_(N), individually and/or collectively, without device 310 necessarilybeing in direct communication with nodes 320 ₂, . . . 320 _(N).

FIG. 4 illustrates a system 400 that includes a human interface device410 (e.g. keyboard, mouse, etc.) that is directly connected to client420. System 400 further includes clients 430 ₁, . . . 430 _(N), whereinclients 420 and 430 ₁, . . . 430 _(N) are networked to one anotherthrough one more network medium 450 and employing one or more networkingprotocol. Additionally, each client 430 ₁, . . . 430 _(N) has executingthereupon a human interface service 440 that provides an abstraction ofthe functionality of one or more human interface devices, for example,tablets, speakers, joysticks, mice and keyboards.

Human interface device 410 being directly connected (e.g., via USB port,parallel port, serial port) can effect control over client 420 and anyapplications executing on client 420. Further, where a trustrelationship exists between the various nodes (e.g., 420, 430 ₁, . . .430 _(N)) the human interface device 410 can effect control of processeson clients 430 ₁, . . . 430 _(N) through the human interface service 440resident on nodes 430 ₁, . . . 430 _(N).

FIG. 5 depicts a system 500 that includes client 510, client 520 andclient 530 that are in a trust relationship (e.g., “castle” or “domain”)with one another (indicated by the dashed line surrounding clients510-530), wherein clients 520 and 530 are members of a network topology540, and clients 510 and 520 have a local communicative relationshipwith one another, and each of the clients 510-530 has executingthereupon a human interface service (not shown) that provides anabstraction of the functionality of one or more human interface devices,such as, for example, mice, keyboards, tablets, joysticks, and the like.For instance, clients 520 and 530 can be connected via Gigabit Ethernet,and clients 510 and 520 can be connected to one another through adedicated link. Additionally, system 500 also includes a wireless humaninterface device 550 (e.g., wireless keyboard) that is in wirelesscommunication with client 510 and further is coupled to a wired humaninterface device 560 (e.g., mouse, trackball, joystick, tablet, . . . )via a USB-A port, for example. The wireless human interface device 550can thus at the time of initial setup disclose and broadcast informationabout itself as well as information about the wired interface device 560that is associated with the wireless human interface device 550. Oncethe wireless human interface device 550 has identified a suitable andresponsive client to pair with (e.g., client 510) the wireless humaninterface device can receive or mine for information about theprospective client. The wireless human interface device 550 can at thisjuncture also receive authentication information from the prospectiveclient that can be employed to effectuate the subsequent pairing andcommunications between the wireless human interface device 550 and theprospective client, as well as receive drivers and any associatedsoftware necessary to ensure that the wireless human interface device550 as well as the wired human interface device 560 can effectuateappropriate control and functionality over the client. In thissituation, the wireless human interface device 550 acts as a proxy forthe wired human interface device 560, receiving the drivers andsoftware, if any, and effectuating communications with the client,necessary to allow the wired human interface device 560 to manifestappropriate control over the client. Once the wireless human interfacedevice 550 and the wired human interface device 560 have beenappropriately with provisioned with authentication information necessaryto facilitate pairing and communications between the wireless humaninterface device 550 and the client (e.g., client 510), as well as theappropriate drivers and software need to exert appropriate control overthe client, the wireless human interface device 550 and the wired humaninterface device 560 can utilize the trust relationship that exists toeffectuate control over clients 510-530.

FIG. 6 illustrates a system 600 that includes a wireless human interfacedevice 610 and an associated biometric scanner 620 that is in wirelesscommunication with client 630 and an associated biometric scanner 640.Additionally, wireless human interface device 610 and its associatedbiometric scanner 620 and client 630 and its associated biometricscanner 640 are physically located, for example, in Toronto, Canada.Further as depicted in FIG. 6, system 600 also includes client 650,located, for instance, in Sydney, Australia, that is in operativecommunication with client 630 via network topology 660. As has beendescribed supra, the wireless human interface device 610 can broadcastinformation associated with itself for possible reception by a client(e.g. client 630). Once the wireless human interface device 610 haslocated a suitable client to pair with the wireless human interfacedevice 610 can receive and/or gather information about the prospectiveclient. The wireless human interface device 610 can at this pointrequest a user of the wireless human interface device 610 to supplybiometric information via the scanner 620. Such biometric informationcan include thumbprints, retinal images, etc., scanned directly by thescanner 620 from the user, or the biometric information can be suppliedby a smartcard that has pertinent biometric information embeddedtherein. The biometric information gleaned by the scanner can thereafterbe utilized as pairing information and for authentication for subsequentcommunication between the client and the wireless human interface device610 and one or more client. Simultaneously and/or contemporaneously,while the wireless human interface device 610 is obtaining pertinentbiometric information from its associated scanner 620, the client (e.g.,client 630) can supply appropriate drivers and software to the wirelesshuman interface device 610 to allow control of one or more clients(e.g., clients 630 and 650). Once the appropriate information (e.g.,drivers, software, biometric information, and the like) has beenprovisioned to the wireless human interface device 610, the client (e.g.client 630) in communication with the wireless human interface device610 can request that the user of the wireless human interface device 610provide corroborating biometric paring information via an associatedscanner 640. Thereafter, once the wireless human interface device 610has been appropriately and securely paired with the client (e.g., client630), the wireless human interface device 610 can effectuate controlover the client. Additionally, if the paired client is, or subsequentlybecomes, a member of a trust relationship (e.g., castle, domain, and thelike) then the wireless human interface device 610 can be utilized incombination with all clients that form the trust relationship. Thus,where this is the case, and as illustrated in FIG. 6, a wireless humaninterface device 610, located in Toronto, Canada, can operativelycontrol client 650 located in Sydney, Australia, via client 630 locatedalso located in Toronto, Canada, provided that there exists some form oftrust relationship between client 630 and client 650 located indisparate parts of the world.

In view of the exemplary systems described supra, methodologies that maybe implemented in accordance with the disclosed subject matter will bebetter appreciated with reference to the flow charts of FIGS. 7-8. Whilefor purposes of simplicity of explanation, the methodologies are shownand described as a series of blocks, it is to be understood andappreciated that the claimed subject matter is not limited by the orderof the blocks, as some blocks may occur in different orders and/orconcurrently with other blocks from what is depicted and describedherein. Moreover, not all illustrated blocks may be required toimplement the methodologies described hereinafter. Additionally, itshould be further appreciated that the methodologies disclosedhereinafter and throughout this specification are capable of beingstored on an article of manufacture to facilitate transporting andtransferring such methodologies to computers.

FIG. 7 represents an exemplary method 700 for detecting and configuringa wireless human interface device. The method 700 can be executed on aclient device. The method commences at 710 and immediately proceeds to720 where a client device waits to detect whether a wireless humaninterface device is in the proximity of the client device. When nowireless human interface devices are detectable the method loops to thecommencement of the methodology 700. Where a wireless human interfacedevice is determined to be in the proximity of the client device, themethod proceeds to 730 whereupon information about the client executingthe exemplary methodology 700 can be broadcast. The method then proceedsto 740 whereupon the client receives information regarding the wirelesshuman interface device that has entered the proximate range of theclient device. Upon receipt of the discovery material at 740, the methodproceeds to 750 where the client can provide configuration informationto the wireless human interface device. Once the configurationinformation has been supplied to the wireless human interface device at750, the method moves to 760 where the client can send networkinformation to the wireless human interface device.

FIG. 8 illustrates an exemplary method 800 for detecting and configuringa wireless human interface device. The method 800 commences at 810 andimmediately proceeds to 820 where the wireless human interface deviceexecuting the method 800 broadcasts and discloses information aboutitself. The method then proceeds to 830 where the wireless humaninterface device having identified a responsive client to pair withreceives or discovers information about the prospective client and alsoreceives any authentication information that the client may supply toeffectuate subsequent pairing between the wireless human interfacedevice and the client. The method then proceeds to 840 where thewireless human interface device receives configuration information fromthe client. Such configuration information can include drivers and anyassociated software necessary to ensure that the wireless humaninterface device can effectuate appropriate control over the client. Themethod then proceeds to 850 where the wireless human interface devicecan provide network information to the client. It should be noted thatthe wireless human interface device can not only supply networkinformation to the client, but can also supply additional pertinentinformation, such as indications regarding battery life, associationhistory, and information about the current user (e.g., biometricinformation).

FIG. 9 is an illustrative screenshot 900 that depicts the result ofentering a unique key sequence (e.g., <CNTRL>, <ALT>, <@>) or holdingdown an assigned action key on the host or client. As is illustrated abox 910 is displayed on the monitor of the workstation, this display 910can gradually fade into the background over a predetermined length oftime. The box 910 contains a number that can be used by a user to entersuch number on the wireless human interface device to associate thewireless human interface device with the identified host or computer.

In order to provide a context for the various aspects of the disclosedsubject matter, FIGS. 10 and 11 as well as the following discussion areintended to provide a brief, general description of a suitableenvironment in which the various aspects of the disclosed subject mattermay be implemented. While the subject matter has been described above inthe general context of computer-executable instructions of a computerprogram that runs on a computer and/or computers, those skilled in theart will recognize that the subject innovation also may be implementedin combination with other program modules. Generally, program modulesinclude routines, programs, components, data structures, etc. thatperform particular tasks and/or implement particular abstract datatypes. Moreover, those skilled in the art will appreciate that theinventive methods may be practiced with other computer systemconfigurations, including single-processor or multiprocessor computersystems, mini-computing devices, mainframe computers, as well aspersonal computers, hand-held computing devices (e.g., personal digitalassistant (PDA), phone, watch . . . ), microprocessor-based orprogrammable consumer or industrial electronics, and the like. Theillustrated aspects may also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. However, some, if not allaspects of the claimed innovation can be practiced on stand-alonecomputers. In a distributed computing environment, program modules maybe located in both local and remote memory storage devices.

As used in this application, the terms “component,” “system” and thelike are intended to refer to a computer-related entity, eitherhardware, a combination of hardware and software, software or softwarein execution. For example, a component may be, but is not limited tobeing, a process running on a processor, a processor, an object, aninstance, an executable, a thread of execution, a program and/or acomputer. By way of illustration, both an application running on acomputer and the computer can be a component. One or more components mayreside within a process and/or thread of execution and a component maybe localized on one computer and/or distributed between two or morecomputers.

The word “exemplary” is used herein to mean serving as an example,instance or illustration. Any aspect or design described herein as“exemplary” is not necessarily to be construed as preferred oradvantageous over other aspects or designs. Similarly, examples areprovided herein solely for purposes of clarity and understanding and arenot meant to limit the subject innovation or portion thereof in anymanner. It is to be appreciated that a myriad of additional or alternateexamples could have been presented, but have been omitted for purposesof brevity.

Artificial intelligence based systems (e.g. explicitly and/or implicitlytrained classifiers) can be employed in connection with performinginference and/or probabilistic determinations and/or statistical-baseddeterminations as in accordance with one or more aspects of the subjectinnovation as described hereinafter. As used herein, the term“inference,” “infer” or variations in form thereof refers generally tothe process of reasoning about or inferring states of the system,environment, and/or user from a set of observations as captured viaevents and/or data. Inference can be employed to identify a specificcontext or action, or can generate a probability distribution overstates, for example. The inference can be probabilistic—that is, thecomputation of a probability distribution over states of interest basedon a consideration of data and events. Inference can also refer totechniques employed for composing higher-level events from a set ofevents and/or data. Such inference results in the construction of newevents or actions from a set of observed events and/or stored eventdata, whether or not the events are correlated in close temporalproximity, and whether the events and data come from one or severalevent and data sources. Various classification schemes and/or systems(e.g., support vector machines, neural networks, expert systems,Bayesian belief networks, fuzzy logic, data fusion engines . . . ) canbe employed in connection with performing automatic and/or inferredaction in connection with the subject innovation.

Furthermore, all or portions of the subject innovation may beimplemented as a system, method, apparatus, or article of manufactureusing standard programming and/or engineering techniques to producesoftware, firmware, hardware or any combination thereof to control acomputer to implement the disclosed innovation. The term “article ofmanufacture” as used herein is intended to encompass a computer programaccessible from any computer-readable device or media. For example,computer readable media can include but are not limited to magneticstorage devices (e.g., hard disk, floppy disk, magnetic strips . . . ),optical disks (e.g., compact disk (CD), digital versatile disk (DVD). .. ), smart cards, and flash memory devices (e.g., card, stick, keydrive. . . ). Additionally it should be appreciated that a carrier wavecan be employed to carry computer-readable electronic data such as thoseused in transmitting and receiving electronic mail or in accessing anetwork such as the Internet or a local area network (LAN). Of course,those skilled in the art will recognize many modifications may be madeto this configuration without departing from the scope or spirit of theclaimed subject matter.

With reference to FIG. 10, an exemplary environment 1010 forimplementing various aspects disclosed herein includes a computer 1012(e.g., desktop, laptop, server, hand held, programmable consumer orindustrial electronics . . . ). The computer 1012 includes a processingunit 1014, a system memory 1016, and a system bus 1018. The system bus1018 couples system components including, but not limited to, the systemmemory 1016 to the processing unit 1014. The processing unit 1014 can beany of various available microprocessors. Dual microprocessors and othermultiprocessor architectures also can be employed as the processing unit1014.

The system bus 1018 can be any of several types of bus structure(s)including the memory bus or memory controller, a peripheral bus orexternal bus, and/or a local bus using any variety of available busarchitectures including, but not limited to, 11-bit bus, IndustrialStandard Architecture (ISA), Micro-Channel Architecture (MSA), ExtendedISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB),Peripheral Component Interconnect (PCI), Universal Serial Bus (USB),Advanced Graphics Port (AGP), Personal Computer Memory CardInternational Association bus (PCMCIA), and Small Computer SystemsInterface (SCSI).

The system memory 1016 includes volatile memory 1020 and nonvolatilememory 1022. The basic input/output system (BIOS), containing the basicroutines to transfer information between elements within the computer1012, such as during start-up, is stored in nonvolatile memory 1022. Byway of illustration, and not limitation, nonvolatile memory 1022 caninclude read only memory (ROM), programmable ROM (PROM), electricallyprogrammable ROM (EPROM), electrically erasable ROM (EEPROM), or flashmemory. Volatile memory 1020 includes random access memory (RAM), whichacts as external cache memory. By way of illustration and notlimitation, RAM is available in many forms such as synchronous RAM(SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rateSDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), anddirect Rambus RAM (DRRAM).

Computer 1012 also includes removable/non-removable,volatile/non-volatile computer storage media. FIG. 10 illustrates, forexample, disk storage 1024. Disk storage 1024 includes, but is notlimited to, devices like a magnetic disk drive, floppy disk drive, tapedrive, Jaz drive, Zip drive, LS-100 drive, flash memory card, or memorystick. In addition, disk storage 1024 can include storage mediaseparately or in combination with other storage media including, but notlimited to, an optical disk drive such as a compact disk ROM device(CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RWDrive) or a digital versatile disk ROM drive (DVD-ROM). To facilitateconnection of the disk storage devices 1024 to the system bus 1018, aremovable or non-removable interface is typically used such as interface1026.

It is to be appreciated that FIG. 10 describes software that acts as anintermediary between users and the basic computer resources described insuitable operating environment 1010. Such software includes an operatingsystem 1028. Operating system 1028, which can be stored on disk storage1024, acts to control and allocate resources of the computer system1012. System applications 1030 take advantage of the management ofresources by operating system 1028 through program modules 1032 andprogram data 1034 stored either in system memory 1016 or on disk storage1024. It is to be appreciated that the present invention can beimplemented with various operating systems or combinations of operatingsystems.

A user enters commands or information into the computer 1012 throughinput device(s) 1036. Input devices 1036 include, but are not limitedto, a pointing device such as a mouse, trackball, stylus, touch pad,keyboard, microphone, joystick, game pad, satellite dish, scanner, TVtuner card, digital camera, digital video camera, web camera, and thelike. These and other input devices connect to the processing unit 1014through the system bus 1018 via interface port(s) 1038. Interfaceport(s) 1038 include, for example, a serial port, a parallel port, agame port, and a universal serial bus (USB). Output device(s) 1040 usesome of the same type of ports as input device(s) 1036. Thus, forexample, a USB port may be used to provide input to computer 1012 and tooutput information from computer 1012 to an output device 1040. Outputadapter 1042 is provided to illustrate that there are some outputdevices 1040 like displays (e.g., flat panel and CRT), speakers, andprinters, among other output devices 1040 that require special adapters.The output adapters 1042 include, by way of illustration and notlimitation, video and sound cards that provide a means of connectionbetween the output device 1040 and the system bus 1018. It should benoted that other devices and/or systems of devices provide both inputand output capabilities such as remote computer(s) 1044.

Computer 1012 can operate in a networked environment using logicalconnections to one or more remote computers, such as remote computer(s)1044. The remote computer(s) 1044 can be a personal computer, a server,a router, a network PC, a workstation, a microprocessor based appliance,a peer device or other common network node and the like, and typicallyincludes many or all of the elements described relative to computer1012. For purposes of brevity, only a memory storage device 1046 isillustrated with remote computer(s) 1044. Remote computer(s) 1044 islogically connected to computer 1012 through a network interface 1048and then physically connected via communication connection 1050. Networkinterface 1048 encompasses communication networks such as local-areanetworks (LAN) and wide-area networks (WAN). LAN technologies includeFiber Distributed Data Interface (FDDI), Copper Distributed DataInterface (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 and thelike. WAN technologies include, but are not limited to, point-to-pointlinks, circuit-switching networks like Integrated Services DigitalNetworks (ISDN) and variations thereon, packet switching networks, andDigital Subscriber Lines (DSL).

Communication connection(s) 1050 refers to the hardware/softwareemployed to connect the network interface 1048 to the bus 1018. Whilecommunication connection 1050 is shown for illustrative clarity insidecomputer 1016, it can also be external to computer 1012. Thehardware/software necessary for connection to the network interface 1048includes, for exemplary purposes only, internal and externaltechnologies such as, modems including regular telephone grade modems,cable modems, power modems and DSL modems, ISDN adapters, and Ethernetcards or components.

FIG. 11 is a schematic block diagram of a sample-computing environment1100 with which the subject innovation can interact. The system 1100includes one or more client(s) 1110. The client(s) 1110 can be hardwareand/or software (e.g., threads, processes, computing devices). Thesystem 1100 also includes one or more server(s) 1130. Thus, system 1100can correspond to a two-tier client server model or a multi-tier model(e.g., client, middle tier server, data server), amongst other models.The server(s) 1130 can also be hardware and/or software (e.g., threads,processes, computing devices). The servers 1130 can house threads toperform transformations by employing the subject innovation, forexample. One possible communication between a client 1110 and a server1130 may be in the form of a data packet transmitted between two or morecomputer processes.

The system 1100 includes a communication framework 1150 that can beemployed to facilitate communications between the client(s) 1110 and theserver(s) 1130. The client(s) 1110 are operatively connected to one ormore client data store(s) 1160 that can be employed to store informationlocal to the client(s) 1110. Similarly, the server(s) 1130 areoperatively connected to one or more server data store(s) 1140 that canbe employed to store information local to the servers 1130. By way ofexample and not limitation, the systems as described supra andvariations thereon can be provided as a web service with respect to atleast one server 1130. This web service server can also becommunicatively coupled with a plurality of other servers 1130, as wellas associated data stores 1140, such that it can function as a proxy forthe client 1110.

What has been described above includes examples of aspects of theclaimed subject matter. It is, of course, not possible to describe everyconceivable combination of components or methodologies for purposes ofdescribing the claimed subject matter, but one of ordinary skill in theart may recognize that many further combinations and permutations of thedisclosed subject matter are possible. Accordingly, the disclosedsubject matter is intended to embrace all such alterations,modifications and variations that fall within the spirit and scope ofthe appended claims. Furthermore, to the extent that the terms“includes,” “has” or “having” or variations in form thereof are used ineither the detailed description or the claims, such terms are intendedto be inclusive in a manner similar to the term “comprising” as“comprising” is interpreted when employed as a transitional word in aclaim.

1. A system that identifies and effectuates communication between aconnectable client and a wireless human interface device, comprising: aclient discovery component that identifies the connectable client andretrieves setup information from the connectable client; and aninstallation and association component that employs the setupinformation to install a driver on the wireless human interface deviceto establish communication between the connectable client and thewireless human interface device.
 2. The system of claim 1, furthercomprising a wireless setup component that broadcasts information aboutthe wireless human interface device.
 3. The system of claim 2, thebroadcast information including a media access address and device typeof the wireless human interface device.
 4. The system of claim 1,further comprising a diagnostic component that detects and diagnosesaspects of the wireless human interface device and network attributes ofdisparate clients associated with a network.
 5. The system of claim 4,the diagnostic aspects include battery life, association history andcurrent user of the human wireless interface device.
 6. The system ofclaim 1, the wireless human interface component further comprising a LCDdisplay and a biometric information retrieval component.
 7. A machineimplemented method to identify and effectuate communications between aconnectable networked client and a wireless human interface device,comprising: employing a first key included on the wireless humaninterface device; displaying a unique identifier on the connectablenetworked client in response to employment of the first key; andutilizing a second key and the unique identifier to pair the connectableclient and the wireless human interface device.
 8. The method of claim7, the first key includes biometric information obtained from anassociated biometric component on the wireless human interface device.9. The method of claim 7, the first key includes a unique PIN numbergenerated by the connectable client.
 10. The method of claim 7, thesecond key includes corroborative biometric information obtained from anassociated biometric component associated with the connectable networkedclient.
 11. The method of claim 10, the corroborative biometricinformation includes at least one of a thumbprint scan and a retinalscan.
 12. The method of claim 10, the corroborative biometricinformation includes data embedded in a biometric smart card.
 13. Themethod of claim 7, the connectable networked client communicativelycoupled to a second network client.
 14. The method of claim 13, thesecond network client and the connectable networked client establish atrust relationship.
 15. The method of claim 14, the trust relationshiputilized by the wireless human interface device to establish controlover at least one of the connectable networked client and the secondnetwork client.
 16. The method of claim 7, further comprisingprovisioning the wireless human interface device with at least one ofdrivers and software appropriate for the wireless human interface deviceto exert control over the connectable networked client.
 17. The methodof claim 7, further comprising downloading at least one of drivers andsoftware appropriate for operation of an associated wired humaninterface device.
 18. The method of claim 17, the wired human interfacedevice including at least one of a trackball device, a tablet device,and a mouse device.
 19. The method of claim 7, the wireless humaninterface device including at least on of a keyboard, a mouse, aspeaker, a tablet, a laptop, a Smart Phone, and a Personal DigitalAssistant (PDA).
 20. A system that identifies and effectuatescommunication between a connectable client and a wireless humaninterface device, comprising: means for broadcasting informationregarding the connectable client; means for disseminating informationabout the wireless human interface device; means for receivinginformation regarding the connectable client; means for acceptinginformation about the wireless human interface device; means fordelivering a driver and associated software to the wireless humaninterface device; means for configuring the wireless human interfacedevice with the delivered driver and associated software; and means fordiagnosing and detecting network and device information pertinent to theoperation of the wireless human interface component, the connectableclient and a plurality of disparate devices connected to a network.